[LT資料] JXUGC#25 最新情報アップデート&LT大会で「2年で6個のアプリをリリースした感想 with Xamarin.Forms」というタイトルでLT発表しました #JXUG
2019/8/31に開催されたJXUGC #25 最新情報アップデート&LT大会に参加し、LT発表をしましたので、LT資料を公開します。
LT資料(5分)
補足
UIはXAMLがオススメ
C#コードで書くと下記のようになり、見通しが悪くなると思っています。
var label1 = new Label { Text = "テスト", HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.Start, }; var label2 = new Label(); label2.SetBinding(Label.TextProperty, "AnyText"); var button = new Button { Text = "Push", }; button.SetBinding(Button.CommandProperty, "PushCommand"); button.SetBinding(Button.IsEnabledProperty, "IsExistData"); Content = new StackLayout { Children = { label1, label2, button, } };
XAMLだと下記となり、スッキリしている印象です。
<ContentPage.Content> <StackLayout> <Label Text="テスト" HorizontalOptions="CenterAndExpand" VerticalOptions="Start" /> <Label Text="{Binding AnyText}" /> <Button Text="Push" Command="{Binding PushCommand}" IsEnabled="{Binding IsExistData}" /> </StackLayout> </ContentPage.Content>
下記を見ながら、チャレンジしてはどうでしょうか。
また、XAMLについては下記の資料が大変参考になると思います!
MVVMはオススメ
まずは下記を見ながらチャレンジです。(日本語訳が分かりづらい場合は、英語で読むと分かるかもしれません)
「MVVMとかデータバインディング、完全に理解した」となれば、次のライブラリやフレームワークを使うと楽に実装ができます!
だんだん楽しくなってきますよ!
追従するもの、たくさんあるよ……
Xamarinというよりは、アプリ開発でよくあるツラミの部分ですね。直近だと、iOS 13
やiPadOS
が控えてますね……。
特にXamarin.Formsを使って画面を作っているとき、画面関連の対応はXamarin.Forms待ちになったりすることもあります。 (カスタムレンダラー等を使わずXamarin.Formsの対応を待つ、という意思決定を自分でする)
デザインも大変だけど、参考資料はたくさんある
個人的に、アプリを作ってて一番大変?かもしれないです。アプリ自体のアイコンが。絵心もデザインセンスも無いので……。ほんとにデザイナーさんはすごいです。
アプリの見た目や色合い
アプリ自体の配色とかは、下記を参考にしています。特に色は後半にある「2014 Material Design color palettes」から選ぶことが多いです。
アプリで使うアイコン
「お気に入りアイコン」とかは、下記のアイコンを使用しています。「Apache license version 2.0」で配布されています。
アプリ自体のアイコン
こればっかりは、がんばるしかない……。
とにかく作ってみよう
作ってみる
アウトプット重視ですね。 ひとまず作り切ることで、スマホアプリ開発で必要な事柄が分かったりします。
ただ、スマホアプリならでは?の
- あんな感じのデザインにしたいけど、どうやれば?
- Android / iOS 共通が故の「仕様どうしよう……?」
など、細かい壁があるかもしれませんが、「課題を解決する力や達成感」を得られるのは大きいと思います。 まずは片方のOSだけでも良いかもしれません。(手持ちスマホに合わせる)
作りたいアプリが良いよ!
モチベーション維持のためですね。
他の誰かが作っているアプリでも良いのです。
自分が作りたいアプリを作る、自分が使いたいアプリを作る、そのほうが楽しいです。
前向きに捉える
「過去に書いたコードのメンテ辛い」は、そのまま「自分がスキルUpした証拠だ」と受け取ると、精神的に良いと思います。
確実に成長しているのです。
さいごに
こういう場で話すのは初めてだったので、かな〜〜〜〜り緊張しましたが、あっという間の5分でした。正直、記憶はあんまりない……。 良い経験をさせていただき、ありがとうございます!
あと、LiveXAML for Xamarin Formsのデモを見て「これいいな!!」となったのが一番の収穫でした。近いうちに買っちゃいそうです。